home *** CD-ROM | disk | FTP | other *** search
- JAVASCRIPT PROBLEMS I'VE DISCOVERED
-
- These have all been reported back to Netscape.
-
- The press had a spotty record of reporting correctly on this. I've
- prepared a small report on the stories I've seen. I'm amazed at how
- inaccurate some of the stories are! You'd think that they would have
- at least read some of what I've written!
-
- If you see an article in the press mentioning these pages, please
- let me know.
-
-
- _________________________________________________________________
-
- * (4/1) I will be making the 3/18 and 3/21 exploits available
- shortly, since they are fixed in 3.0b2. -->
-
- * (3/29) Netscape has gotten some fixes into 3.0b2. Of my three
- exploits that I reported against 2.01, only the new history
- tracker continues to work (I.e., the others were fixed in response
- to my report).
-
- * (3/22) Here is a note to the www-security list I wrote describing
- the latest problems I know affecting 2.01.
-
- * (3/21) I have a means (using 2.0 or 2.01) to read and retrieve
- files off a user's disk. It requires a minimal forms interaction
- by the user (MEANING: the user has to click on something to invoke
- the file read). I am not making this exploit available at this
- time.
-
- * (3/18) I have modified the "directory browser" exploit such that
- it works with 2.01. I am not making this exploit available at
- this time.
-
- * (3/18) Building on the item I discovered on 3/15, I found that if
- I click on Cancel in the Save dialog, it invokes the "stuck
- onload" bug I reported on 2/21 in a determinist fashion. Trying to
- create such a repeatable incarnation of this bug is what lead me
- to my "tracker" in the first place.
-
- Anyway, utilizing a Save File dialog as the initiator, this lets
- me build a history tracker that works with 2.01. I've created a
- sample exploit. This writes the the same log as my 2/22 tracker,
- so use this to view the tail of the logfile.
-
- Note that with 2.01, the 1x1 window previously used ends up being
- bigger, so you can easily see it flash. And, the "stuck onload"
- gets "unstuck" by visiting another page with an onLoad() tag. This
- may not be a very intriguing way to spy on someone.
-
- * (3/15) NOTE: This item in and of itself is not necessarily a
- security problem.
-
- JavaScript loaded from some page can write to local files on your
- disk. This info is from my news posting to the devs-javascript
- group. This is the basic bit of code:
-
- document.open("Can I write to your disk?")
- document.write("<censored>")
- document.close()
-
-
- This trick requires the user to go through a File Save dialog, and
- hence, is not transparent. The user chooses the file name, but I'm
- able to write to disk none-the-less. This is quite against the
- stated fact that JavaScript is "Secure. Cannot write to hard disk"
- - and this works in 2.01.
-
- Try my example.
-
- For me, this always caused a GPF on Windows NT. That is, once the
- File Save dialog appeared, no matter what I selected, it went
- poof! It seems to core dump the UNIX version of Navigator if you
- don't open up a new window relatively fast (i.e., before you go to
- some other JavaScript laden page). I've found that nasty things
- begin to happen if you click on Cancel in the Save dialog (see
- 3/18 for details).
-
- Note that the file never gets closed until you exit Netscape, so
- small writes tend to get buffered up and not output.
-
- These above mentioned bugs with this mechanism initially lead me
- to believe that the ability to write files was errantly added to
- JavaScript. Brendan Eich has since informed me that this ability
- is intentional, or at least, known about.
-
- * (2/22) I discovered a way to make my JavaScript stay resident in a
- new window, so that I can track your history in real time.
-
- This problem has been fixed in Netscape-2.01; see Netscape's
- security note on Java and JavaScript.
-
- You can read the original article I posted to the RISKS Forum on
- this problem. That whole issue is also available in the archive in
- the UK. Another article of interest appeared Keith Dawson's TBTF
- on Feb 28.
-
- * (2/21) I've seen JavaScript stay resident after you leave a page.
- This is what I call the "stuck onload()" problem, and is a BUG
- (still in 2.01).
-
- * (2/13) The bug in Netscape 2.0b3 that allowed JavaScript to
- directory browse lives on in the 2.0 release, even after
- Netscape told us it was fixed.
-
- This is fixed in Netscape-2.01.
-
- * This is a classified as a red herring, but JavaScript has the
- ability to toss up arbitrary alert boxes. I used to have this one
- pop up on my home page. I wanted this message to sound really bad.
- This was before I wrote the tracker. A more interesting message
- would be Please type your password or something similar.
-
- * There are hundreds of exciting things to do with Netscape 2.0 and
- JavaScript.
- WARNING: viewing this page may damage or crash Netscape.
-
-
- _________________________________________________________________
-
- John Robert LoVerso, OSF Research Institute
-
- Last modified on Monday, 01-Apr-96 14:51:07 EST.
- This page accessed 16247 times.
-
-